home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / comm / otto11.zip / OTTO.DOC < prev    next >
Text File  |  1992-02-12  |  22KB  |  518 lines

  1.                    ╔══════════════════════╗
  2.                    ║   Welcome to Otto!   ║
  3.                    ║   Ver 1.1  2/12/92   ║
  4.                    ║   (c) 1992 RSE Inc   ║
  5.                    ╚══════════════════════╝
  6.  
  7. Otto lets you automate a wide variety of tasks.  I created it to help me 
  8. take advantage of Compuserve's new basic features but it can be used for 
  9. virtually anything.  
  10.  
  11. If you use "Autosig" as your communications program you can see for 
  12. yourself what Otto can do.  Use any ASCII editor to edit the first few 
  13. lines of "DOALL" to reflect what subdirectory AUTOSIG.EXE resides in.  
  14. Then enter "otto doall" at the DOS prompt.  (If for any reason you want 
  15. to abort the process press both shift keys at the same time)  Otto will 
  16. send out your e-mail (if you have any), gather your e-mail, get some 
  17. stock quotes, get the latest news and sport scores, download some weather 
  18. maps, and get the latest weather forecast.  And Otto can do all this 
  19. unattended at 5 AM so its all waiting for you when you wake up! 
  20.  
  21. Although this "DOALL" script only works for users of "Autosig", later on 
  22. we will discuss how you can modify "DOALL" to work with your 
  23. communications program.  And of course we will discuss how you can create 
  24. your own scripts thereby automating virtually any task! 
  25.  
  26. The bad news is Otto uses scripts.  If you've tried writing scripts 
  27. before you know what a pain it can be.  The *good* news is that Otto has 
  28. just a few simple script commands making it very easy to learn and use.  
  29. The *GREAT* news is that Otto also has a script recorder that creates 
  30. scripts on the fly as you go about doing the task you want to automate!  
  31. It records what you're doing as you're doing it.  Once Otto creates the 
  32. script you can go back and edit it to make any desired changes.  Sure 
  33. beats trying to create scripts from scratch. 
  34.  
  35. Some of you may be familiar with our "Playback" program which is also a 
  36. task automator.  Playback records your keystrokes with the delays intact 
  37. and lets you turn these "keyfiles" into small .COM programs.  You can 
  38. playback they keyfiles via hot key, from the DOS prompt, from the MENU 
  39. program or at some specified times.  The MENU program also lets you add 
  40. notes to your keyfiles, adjust their playback, edit them and much more.  
  41. But the point is Playback makes it's decisions on when to stuff 
  42. keystrokes based on the delays between keystrokes. 
  43.  
  44. On the other hand, Otto bases its decisions primarily on what appears on 
  45. the screen.  This is good for situations where the delays between 
  46. keyboard inputs may vary from use to use (like using your modem).  On the 
  47. other hand, since you can only read text from a text screen, Otto works 
  48. best when the application you're using is text based and not graphics 
  49. based.  On the plus side, Otto can incorporate decision making whereas 
  50. Playback can't.  For example if you try to log-on but the line is busy, 
  51. Otto can have the program re-dial instead of pressing ahead as tho the 
  52. connection had been made.  If Otto doesn't fit your needs chances are 
  53. Playback will.  You can find Playback in Library 3 of Compuserve's IBMSYS 
  54. forum with the name PB??.EXE with ?? being the latest version number.
  55.  
  56. == How Much? ==
  57.  
  58. Otto is shareware.  As such you are given the program without obligation 
  59. in order to evaluate it.  If after a 3 week evaluation you decide to 
  60. continue using it then you are obligated to become a registered user.  
  61. You register by sending $19.95 + $1 shipping (add $1 for 3.5 disk, 
  62. $5 for overseas orders) to: 
  63.  
  64.       RSE Otto Registration     |      Visa or Mastercard
  65.       1157 57th Drive SE        |      Call or FAX (206) 939-4105
  66.       Auburn, WA 98002          |      Compuserve: 72371,1557
  67.  
  68. As a registered user you'll get the following additional benefits: 
  69.  
  70.       1. Technical support and the latest version of Otto.
  71.  
  72.       2. The unregistered versions of some of our other shareware 
  73.          programs including Playback, Nabbit, FileNotes, Remind Me!, 
  74.          Trash-It, BriteLine, and others. 
  75.  
  76.       3. No more "please register" messages.
  77.  
  78. Because Otto is shareware you're encouraged to give copies of it to 
  79. others as long as you don't modify the program or these instructions and 
  80. you don't charge for the copies.  The only exception to the last rule is 
  81. for shareware vendors who may charge a reasonable distribution fee. 
  82.  
  83. == Getting Started ==
  84.  
  85. * Put OTTO.COM in one of the subdirectories listed in the PATH statement in 
  86.   your AUTOEXEC.BAT file.
  87.  
  88. === Creating your own scripts ===
  89.  
  90. == Definitions: ===
  91.  
  92. The following symbols are used in the format description of the various 
  93. commands:
  94.  
  95. [message]       specifies data that appears on the screen.  Must be 
  96.                 enclosed quotes. 
  97.  
  98. [delay]         delay in seconds
  99.  
  100. [evaluator]     must be either "=" or "<>"
  101.  
  102. [label]         specifies a location in the script.  Must be less than 
  103.                 eight characters long and be enclosed within "*"s.  For 
  104.                 example: *GetMail* 
  105.                              
  106. [location]      You tell Otto where on the screen to look for a message 
  107.                 in a variety of ways.  If you specify "cursor" then Otto 
  108. looks for the message directly in front of the cursor.  For example if 
  109. your screen looks like this: 
  110.  
  111.   Enter Name: _
  112.  
  113. then the cursor message could be "Enter Name: ", "Name: ", ": ", or even 
  114. " ".  Notice I always included the space right in front of the cursor.  
  115. Therefore the command: 
  116.  
  117.   waitfor cursor "Name: " 
  118.  
  119. would wait until "name: "appears directly before the cursor.  The 
  120. uppercase/lowercase status of the message is irrelevant as the "message" 
  121. comparison is case insensitive. 
  122.  
  123. You can also specify the message location by screen location.  Enclose 
  124. the coordinates in ROW,COLUMN format within ().  For example: 
  125.  
  126.   waitfor (4,0) "City: "        
  127.  
  128. would wait until "City: " appears at row 4, column 0. 
  129.  
  130. Both rows and columns begin at 0, therefore the upper left corner of the 
  131. screen would be (0,0).  If you're more comfortable using COLUMN, ROW 
  132. than ROW, COLUMN then use DEBUG to change byte 0F hex of OTTO.COM to a 
  133. value of 1. 
  134.  
  135. You can also specify message location in offsets from the cursor 
  136. location.  You do this by specifying + or - for values that are to be 
  137. cursor offsets.  For example:
  138.  
  139.   waitfor (-1,+2) "message"
  140.  
  141. would wait until "message" appeared at cursor row -1 and cursor column 
  142. +2.  You MUST use a +  or - to signify an offset.  Let's say you want to 
  143. specify the message location as the same column as the cursor but two 
  144. rows up.  You would use (-2,+0).  If you used (-2,0) then Otto would look 
  145. two rows up but at column 0 since the lack of a + or - on the 0 
  146. signifies the 0 is an absolute location.  Make sure you understand the 
  147. following examples: 
  148.  
  149. (3,1)      Row 3, Column 1
  150. (0,-3)     Row 0, Cursor column-3
  151. (+0,-3)    Cursor row, Cursor column-3
  152. (-1,-2)    Cursor row-1, Cursor column-2
  153. (+2,3)     Cursor row+2, Column 3
  154.  
  155. == Some ground rules ==
  156.  
  157. * Otto only looks at the first letter of each command.  Therefore the 
  158.   command:  waitfor cursor "message"
  159.   could be abbreviated to:  w c "message"
  160.  
  161. * You must leave a space between each component of the message:
  162.  
  163.   w c "message"  ;would be correct
  164.   wc "message"   ;would generate an error. 
  165.  
  166. * Use only one command per line, except for " ; " which allows you to add 
  167.   comments to your scripts.
  168.  
  169. The following are the script commands.  Hopefully between the 
  170. explanations, examples, and sample scripts you can figure out what's 
  171. going on.
  172.  
  173. } WAITFOR    Format: waitfor [location] [message]
  174.              waitfor [delay]     
  175.  
  176. Waits for a condition to be met.  The condition can be either a delay 
  177. (specified in seconds) or a "message" match.
  178.  
  179. Examples:
  180.  
  181.   waitfor cursor "message"   ;wait until "message" appears directly 
  182.                              ;before cursor
  183.   waitfor (0,3) "message"    ;wait until "message" appears at Row 0, Col 3 
  184.   waitfor (-2,+0) "message"  ;wait until "message" appears at cursor row-2 
  185.                              ;and cursor column
  186.   waitfor 2.5                ;wait for 2.5 seconds
  187.  
  188.  
  189. } IF/THEN    Format: if [location] [evaluator] [message] then *label*
  190.  
  191. If the conditions are met Otto jumps to the line after *label*.  
  192. The "then" portion is optional.  "<>" means not equal.
  193.  
  194. Examples:
  195.  
  196.   if cursor = "message" then *GetMail*     
  197.   if (0,3) = "message" then *GetStock*      
  198.   if (-2,+0) <> "message" then *GetNews*
  199.  
  200.  
  201. } JUMP    Format:  jmp *label*
  202.  
  203. Jumps to the line following *label*.
  204.  
  205. Example:  jmp *GetMail*         ;jumps to line after *GetMail* line
  206.  
  207.  
  208. } GOSUB   Format:  gosub *label*
  209.  
  210. Goes to *label* but returns when "return" is encountered.
  211.  
  212. Example:  gosub *getmail*    
  213.  
  214.  
  215. } RETURN  Format:  return
  216.  
  217. Returns from a gosub routine.  In other words, returns to the line after 
  218. the line that "gosub"ed to this routine. 
  219.  
  220.  
  221. } CALL    Format:  call "script"
  222.  
  223. Runs the script file specified.  When that script ends then Otto returns 
  224. to the next line of this (the calling) script. 
  225.  
  226.  
  227. } END     Format:  End
  228.  
  229. MUST be used to signal the end of a script.
  230.  
  231.  
  232. } ;       Format:  ;
  233.  
  234. Used to add comments to your scripts.  Otto ignores everything after the 
  235. semicolon. 
  236.  
  237.  
  238. } Stuffing keystrokes     Format:  "keystrokes"
  239.  
  240. Takes the keystrokes enclosed within quotes and stuffs them into the 
  241. keyboard.  Use | to specify a carriage return.  Characters after the | 
  242. (carriage return) will be ignored so put them on a new line. 
  243.  
  244. Examples:
  245.  
  246.   "scott chaney"     stuffs "scott chaney" with no carriage return
  247.   "go mail|"         stuffs "go mail" and follows with carriage return
  248.   "Φ14 helloΦ15 Φ15 world|"     PgDn "hello" RtArw RtArw "world" carriage 
  249.                                 return. See below.
  250.  
  251. You can add special keys like Escape, the function keys, the cursor 
  252. keys, and others, into your scripts by using a special notation.  The 
  253. process for inserting a special key is: 
  254.  
  255. * Hold down the Alt Key
  256. * enter 232 on the numeric keypad
  257. * release the Alt key
  258. * enter the number of the special key as indicated in the following table
  259. * follow your input with a space
  260.  
  261. == Special Character Table ==
  262.  
  263. To enter a special character: Enter Alt-232, enter the character # (as 
  264. derived from this table) and follow the input with a space.
  265.  
  266. Examples:  Alt-F3 = Φ43    Ctrl-PgDn = Φ34    Alt-J = Φ92    Esc = Φ53 
  267.     
  268.      Normal  Ctrl    Alt     Shift  │     Alt         Alt         Alt
  269. F1    1       21      41      61    │     1  71       A  83       N  96
  270. F2    2       22      42      62    │     2  72       B  84       O  97
  271. F3    3       23      43      63    │     3  73       C  85       P  98
  272. F4    4       24      44      64    │     4  74       D  86       Q  99
  273. F5    5       25      45      65    │     5  75       E  87       R 100
  274. F6    6       26      46      66    │     6  76       F  88       S 101
  275. F7    7       27      47      67    │     7  77       G  89       T 102
  276. F8    8       28      48      68    │     8  78       H  90       U 103
  277. F9    9       29      49      69    │     9  79       I  91       V 104
  278. F10   10      30      50      70    │     0  80       J  92       W 105
  279.                                     │     -  81       K  93       X 106
  280. Home  11      31                    │     =  82       L  94       Y 107
  281. End   12      32                    │                 M  95       Z 108
  282. PgUp  13      33
  283. PgDn  14      34
  284. RtArw 15      35
  285. LfArw 16      36
  286. UpArw 17      
  287. DnArw 18      
  288. Ins   19
  289. Del   20
  290. Tab   51                      60
  291. BS    52 ;try non-special character:  (alt 8) first
  292. Esc   53 ;try non-special character:  (Alt 27) first
  293.  
  294. == Shift States ==
  295.  
  296. There may be times when special keys are not enough.  Some programs don't 
  297. look for the special keys when looking for Ctrl and/or Alt key 
  298. combinations.  Instead they examine a "shift status" byte in memory that 
  299. tells them if the Ctrl and/or Alt keys are being pressed.  Then they look 
  300. in the buffer to see which key has been pressed with it.  In these cases 
  301. they won't act on the special keys unless the "shift status" byte signals 
  302. that Ctrl and/or Alt have been pressed.  Therefore Otto lets you change 
  303. this "shift status" byte.  To change the shift status byte: 
  304.  
  305. 1.  Press Alt and while holding it down enter 212 on the numeric keypad.  
  306.     This produces the character: ╘ 
  307.  
  308. 2.  Then enter 1 for Alt, 2 for Ctrl, and 3 for Ctrl and Alt.  Use 0 to 
  309.     set things back to normal.
  310.  
  311. 3.  Follow your input with a space.
  312.  
  313. IMPORTANT:  Make sure you always reset the "shift status" byte back to 0 
  314. when you're done by using: ╘0   (alt-212 zero) 
  315.  
  316. Example:  "╘3 D╘0"  would simulate Ctrl-Alt-D being pressed.  
  317.  
  318. In the above example "╘3 " signals Ctrl and Alt both being pressed, then 
  319. the D key is entered, then the shift state is reset using "╘0 ". 
  320.  
  321.  
  322. === Recording a script ===
  323.  
  324. You could create your own scripts from scratch, but it's a lot easier to 
  325. have Otto record a script for you.  Then you need only go in and massage 
  326. a few items in order to get it to run correctly.
  327.  
  328. * To record a script run Otto using the "/r" command line switch.  
  329.  
  330.   Example: Otto new1 /r
  331.  
  332. * To start recording press Ctrl-LShft-RShft.  You'll hear an ascending 
  333.   series of tones which indicate the recording has begun.
  334.  
  335. * To stop recording press either LShft-RShft or Ctrl-LShft-RShft again. 
  336.   You'll hear a descending series of tones indicating the recording has 
  337.   stopped.
  338.  
  339. You may stop a recording and then start it again.  If you do, the new 
  340. recording will be appended to the end of the previous recording.  
  341.  
  342. A new line is created in the script file every time the Enter key is 
  343. pressed -or- whenever a delay between keystrokes exceeds 3 seconds.  
  344. Therefore on single key inputs (like pressing Y or N for a Yes/No 
  345. response) it's best to wait three seconds before pressing the key. 
  346.  
  347. Chances are your recorded scripts won't run correctly until you "massage" 
  348. them a little.  The reason is that Otto doesn't know what's important and 
  349. what isn't.  He always assumes that the cursor message is the critical 
  350. item.  Often it's not.  In addition, at times there are critical delays 
  351. that are important.  Otto won't pick up on those either.  Here are some 
  352. hints for getting your scripts to run correctly: 
  353.  
  354. * Before you do anything print out your script so you can follow along as 
  355. it replays and you can see where it is hanging up. 
  356.  
  357. * Check the "waitfor cursor" messages to see if they are what Otto should 
  358. be waiting for.  It may well be that Otto should be waiting for a message 
  359. that appears elsewhere on the screen.   
  360.  
  361. * Otto doesn't record delays between inputs, so check the script to see 
  362. if there are any delays you need to insert between keystrokes or inputs.
  363.  
  364. * If your Escapes and/or Backspaces aren't working correctly then you may 
  365. want to subsitute "Φ53 " for "" (Escape) or "Φ52 " for "" (backspace).
  366.  
  367. * And lastly, make sure a new "waitfor" line is created whenever you need 
  368. one.  Remember, a new "waitfor" line is only created when you press the 
  369. Enter key or the delay between keystrokes exceeds 3 seconds.  That's why 
  370. for those single key inputs (function keys, cursor keys, Y/N responses, 
  371. etc..) where you want "waitfor" lines generated you need to wait three 
  372. seconds before pushing the key. 
  373.  
  374. === Running a script === 
  375.  
  376. To begin running a script:
  377.  
  378. * Move to the subdirectory where the script file is located
  379.  
  380. * enter "OTTO filename" where "filename" is the name of the script file 
  381.   you want to run.
  382.  
  383. You MUST move to the subdirectory where the script file is located when 
  384. you enter the "OTTO ..." command.  DO NOT specify the full pathname of 
  385. the script file. 
  386.  
  387. == Aborting the running of a script ==
  388.  
  389. You can abort the running of a script by pressing the Left Shift key and 
  390. the Right Shift key at the same time. 
  391.  
  392. == Hot key activation ==
  393.  
  394. There may be times when you don't want the script to begin immediately 
  395. but would like it to start when you press a hot key.  You do this by 
  396. using the "/h" command line option when you start the program.  For 
  397. example, entering "otto store /h" tells Otto not to begin stuffing the 
  398. STORE file until you press the hot key.  The hot key is: Ctrl-LShift-
  399. RShift.  In other words, if you use the "/h" (h for "h"ot key activation) 
  400. command line option you initiate the running of the script by pressing 
  401. the Ctrl key and both shift keys all at the same time. 
  402.  
  403. == Time activated scripts ==
  404.  
  405. If you'd like the running of your script to begin automatically at some 
  406. later time you use the command line option "/####" where #### is a four 
  407. digit number designating the time you want the stuffing to begin.  The 
  408. #### must be in 24 hour military time (3am = 0300, 11:30pm = 2330) and 
  409. MUST be 4 digits long.  For example, entering "otto doall /0200" would 
  410. cause the "DOALL" script to begin activating automatically at 2am. 
  411.  
  412. == Key stuffing speed ==
  413.  
  414. Normally Otto stuffs keys at the rather slow pace of 18 characters a 
  415. second.  The reason is that some programs take keystrokes out of the 
  416. buffer faster that they can use them (go figure?) and this "slow" speed 
  417. may give them time to catch up before the next keystroke comes.
  418.  
  419. However, if you live on the wild side you might want to stuff the 
  420. keystrokes in faster.  You do this by using the "/f" (f for fast) command 
  421. line option.  Otto will then stuff the keystokes in at about 145 
  422. characters a second. 
  423.  
  424. == Uninstalling Otto ==
  425.  
  426. Otto is a small TSR that uses only about 7K of RAM.  Once you run it, 
  427. this 7K portion of the program remains in memory until you re-boot or 
  428. uninstall it using the "/u" command line option.  In other words, to 
  429. uninstall Otto enter "otto /u" at the DOS prompt.  You MUST remove TSR's 
  430. in the reverse order in which they were loaded or you may lock up your 
  431. computer, thus requiring a re-boot. 
  432.  
  433. == The script display line ==
  434.  
  435. You'll notice that when you run your scripts Otto often displays the 
  436. current script line in the upper right corner of the screen.  This can be 
  437. invaluable when it comes time for you to check out your scripts.  Only 
  438. "waitfor" commands are displayed.  Otto acts upon all the other commands 
  439. so fast that you wouldn't see them even if they were displayed.  Because 
  440. many programs use the top row of the display for menu selections we 
  441. elected to have Otto display the script lines on the second row.  
  442.  
  443. You can turn off the script display by using the "/w" command line 
  444. option.
  445.  
  446. === Sample Scripts ===
  447.  
  448. The following sample scripts have been supplied for your use: DOALL, 
  449. GETNEWS, GETSTOCK, GETMAP, and WEATHER.  Users of "Autosig" will only 
  450. have to make small changes to get them to work correctly.  If you use 
  451. another communications program then you'll need to make some more 
  452. changes, primarily concerning how downloads are initiated and concluded.  
  453. I've put notes in the script files indicating what sections are "Autosig" 
  454. unique and will need changing. 
  455.  
  456. By the way, "Autosig" is a great program that excels in handling e-mail 
  457. and forum message traffic.  If your communications program doesn't 
  458. automate e-mail operations then you'll definitely want to get your hands 
  459. on "Autosig".  You can find it in the "AUTOSIG" library of the IMBCOM 
  460. forum on Compuserve.  And the best part?  The program is free, therefore 
  461. your only cost will be the cost of downloading it. 
  462.  
  463. The script files can be a real aid in learning how to use the script 
  464. commands.  You might want to evaluate them until you can understand 
  465. exactly what is going on. 
  466.  
  467. == Help ==
  468.  
  469. If you forget any of Otto's command line options, just enter "otto /?" at 
  470. the DOS prompt and Otto will provide you with a summary. 
  471.  
  472. == Problems ==
  473.  
  474. "Your scripts don't run on my computer"  The scripts are designed for 
  475. users of "Autosig" and even then will need some minor modifications to 
  476. run correctly.  However, all these differences are specified within the 
  477. scripts themselves, making it easy for you to make the changes necessary 
  478. to have them run with your communications program.
  479.  
  480. "I just recorded a script and it doesn't run correctly."  Several things 
  481. to try:  first try running the script with the /s command line option in 
  482. order to slow it down.  Secondly, you might want to try replacing the 
  483. Escape and/or backspace characters with their special character 
  484. equivalents (Esc:change  to Φ53 ,BS:change  to Φ52 ).  
  485.  
  486. "My scripts still don't work"  Check the ground rules mentioned at the 
  487. start of the script command descriptions.  In addition, triple check all 
  488. your syntax and make sure everything is in accordance with the rules 
  489. specified.  For programmers it is often habit to use commands or command 
  490. syntax that is not correct for Otto.  For example, there is a tendency to 
  491. end an IF/THEN command with another command instead of a label.  Big no 
  492. no. 
  493.  
  494. == Technical Support ==
  495.  
  496. Registered users can call (206) 939-4105 for technical support or contact 
  497. us on CIS: 72371,1557
  498.  
  499. Software design is an evolutionary process.   A good program is always 
  500. being updated to correct bugs and add new features.  If you'd like to 
  501. tell us how we could make Otto better please send us a letter or e-mail.  
  502. Although we can't respond personally to your letters I do guarantee your 
  503. suggestions will be seriously considered. 
  504.  
  505. == Thanks ==
  506.  
  507. Thank you for your time.  I hope you find Otto helpful and worthy of your 
  508. support. 
  509.  
  510. == Legal ==
  511.  
  512. Otto is copyrighted 1992 by RSE Inc.  "Otto" is an unregistered 
  513. trademark of RSE Inc.
  514.  
  515. RSE Inc. specifically disclaims all warranties pertaining to this 
  516. software.  The software is released "as is". 
  517.  
  518.